************************* Object Domain Readme File ************************* Welcome to Object Domain 1.19a! Object Domain is an Object-Oriented Analysis and Design CASE Tool. It fully supports the latest Booch methodology and notation as well as OMT class and state diagrams. A powerful, embedded scripting language (TCL) allows custom code and documentation generation. It is primarily based on the book: "Object Oriented Analysis and Design with Applications, second edition" by Grady Booch. In addition to the modeling and diagramming tool, we also include the C++ Analyzer, an application to reverse engineer C++ code into class diagrams. Note: The evaluation copy of Domain is limited to 20 classes per model. You must register to remove this restriction. There are no built in limitations in the registered version. More Information ================ You can always find the latest information on "Object Domain" at our web site: http://www.object-domain.com. Ordering Information for Object Domain ====================================== The shareware version of Object Domain is not public domain or free software. You are licensed to use this software for the purpose of evaluation without charge for a period of 30 days. If you use this software after the 30 day evaluation period, a registration fee of $99 is required. By registering you will receive the latest 1.XX version (bug fixes and new features, if available). The registered version has no built in limits on the size of designs. See ORDER.TXT for more information on ordering. License Agreement ================= You must read the license agreement carefully before using the software. Please see LICENSE.TXT. Compatibility ============= Object Domain and the C++ Analyzer are Win32 applications. They run under Windows 95/NT and Windows 3.1/3.11 with Win32s. If you are running Microsoft Windows 3.1/3.11 you need to install Win32s (if not installed already). You can obtain this from Microsoft's Web site. INSTALLATION ============ To install this program just run the supplied setup program. To run, double click "install.exe".(If this fails you can try running the "iw.exe" program.) Modification History ==================== Changes since 1.19 ------------------ - Attribute properties did not get saved when updated. - The TCL command OD_getDiagrams did return an invalid TCL return code. Changes since 1.18 ------------------ - Updated all user interface panels to use standard Win32 controls - Fixed several problems in the Analyzer related to parsing MFC and OWL libraries. Preinclude files are now included for parsing OWL bcw_pinc.h and MFC vc_pinc.h. - Increased the performance of the C++ Analyzer - Fixed some bugs in the C++ generation script - Added a tutorial - Added several example diagrams/models - Generic relations can now be added between notes and other elements in the object diagrams - Long names can now be directly typed in the icons - Fixed the accelerators for the main window - Added note icons to the process, module, and interaction diagrams - Split the class dialog into two dialogs, regular and advanced - Attributes and operations can now be reordered in the class dialog using drag and drop - Added documentation field for attributes - Fixed the return status of some broken TCL functions - Enhanced the Obj2Int script that converted Object Diagrams to Interaction Diagrams - Added a grid for realtion anchor points in class diagrams. This makes it easier to align relations. - Added various visibility options for attributes and operations (you don't need to seperately enable/diable the visibility of each attribute/operation visibility anymore) - Used Borlands "codeguard" to fix some memory problems and hence making Object Domain more robust. - Fixed several other minor problems. CHANGES SINCE 1.17 ------------------ New analyzer (1.04) : fixes a GPF which occured when parsing MFC4.0 files. now MFC4.0 file can be parsed provided the following lines are added in the preinclude file : #define __declspec(v) #define _WIN32 #define WINVER 0x0400 #define _M_IX86 0x400 TCL script has been extended for write : now you can write to the diagrams, create new diagrams and classes,... Fixed a problem that when private export control was selected in attribute and operation templates Now use/generic relations are allowed between classes and categories Now you can type text in zoomed in icons. CHANGES SINCE 1.16 ------------------ New analyzer (1.03) : now recognizes include files starting with "." "\" "d:" ( absolute or relative pathnames from the current directory. ) Preinclude headers are now saved. Fixed a problem with copying OMT diagrams to the clipboard in WMF format Fixed a problem with copying(WMF)/printing diagrams when different fonts are used. CHANGES SINCE 1.15 ------------------ Fixed a bug in 1.15, ( released a week ago) had a serious bug : it could not read back files saved with v1.15. This version (1.16) can read the files saved with 1.15 and before. CHANGES SINCE 1.14 ------------------ - new analyzer : v1.02, fixed some problems in the preprocessor ( token conactenation did not work ), predefined some MFC macros. MFC ( 2.5) can now be reverse engineered. - fixed some problems in the C++ script + added support for the new C++ attribute and operation properties (GENCPP.TCL). - Added the ability to add C++ specific properties to attributes and operations. (See the operation and attribute template : "C++ Options..." ) CHANGES SINCE 1.13 ------------------- - added copy to clipboard in MetaFile format. - added font effects ( color, underline,...) - added Delete command ( accellerated by Del key ) - added a dialog for notes ( now you can turn of the box around the text) - added a dialog for categories ( now it is possible to display the classes contained in the category in the category box.) - modified the c++ generation script so that it includes the has relations as attributes (GENCPP.TCL). CHANGES SINCE 1.12: ------------------- - Added the OMT Object Model Notation to the tool.The program allows you to switch existing diagrams from one method into the other. - added reflective relations to the class diagrams - added a secondary font command, this allows you to use a different font for icon names and other text associated with the icons. - added a script to generate C++ code (gencpp.tcl ) - fixed some problems in the gendoc.tcl and genptl.tcl CHANGES SINCE 1.11: ------------------- - Added a switch which allows the editor to automatically switch back to select mode after any other tool is finished. - Fixed several problem in reverse engineering. Sometimes empty diagrams showed up after successful reversing a C++ file. - Added a limit of 10 classes for the shareware version.( LIMIT for SAVE only.) CHANGES SINCE 1.10: ------------------- - Add integration between the different diagrams : e.g. in the object diagrams you can now select classes from the existing classes in the design and operations for the messages CHANGES SINCE 1.09: ------------------ - Fixed fit to page option for printing diagrams. - Fixed a bug which caused a GPF when trying to print an empty diagram. - The reference list now sorts the classes - Removed the limit on length of strings in the dialog boxes ( e.g. class names, operation names,...). - Now operation parameters can be edited by double clicking on them. CHANGES SINCE 1.08: ------------------ - Fixed direct text input for windows 95 ( typing text in a note,or any other object did not stick in Windows 95), this was obviously not fixed in 1.08 - Added help files for the TCL extensions - Added a script to the distribution which allows you to generate Rational Rose Petal files from Object Domain ( Rational Rose is a trade mark of Rational Software Corp) CHANGES SINCE 1.07: ------------------ - Fixed direct text input for windows 95 ( typing text in a note,or any other object did not stick in Windows 95) - Added a select all command - Generic relations between object are now allowed - Added an extension language to the tool, this allows you to write custom scripts which can extract data from Object Domain. TCL was chosen as scripting language because it easily extendable ( by the user), with custom commands and code. - Copies of state diagrams (or parts of if) sometimes had "messed" up connections when pasted. CHANGES SINCE 1.06: ------------------ - Changed the main project list implementation which in previous version seemed to cause problems (GPF) in some video drivers. - Added the importing of project files generated by the C++ analyzer. - A new program was added to the Object Domain toolset : C++ analyzer . CHANGES SINCE 1.05 : -------------------- Fixed a bug which caused GPF when reading older version OOD files ( pre v 1.02) CHANGES SINCE V1.04 ------------------- - added a start page field in the print dialog. This allows you to specify the page number of the first page. - fixed page numbers when printing multiple diagrams. Now page numbers don't restart at 1 for a new diagram - fixed a bug which caused the program to give a GPF or go in an infinite loop when deleting relations in object diagrams, or when changing the start or end object of relations in object diagrams, events in state diagrams, dependencies in module diagrams and connections in process diagrams. CHANGES SINCE V1.03 ------------------- - Fixed a minor problem : return character can now be entered in notes. ( changed accelerator for the main menu to CTRL-D from CTRL-M ) CHANGES SINCE V1.02 ------------------- - Bug fixed : code generation and document generation did not show inheritance or instantitions. - Bug fixed : the 32 bit version had a problem with cutting or cpying of categories and subsystems. CHANGES SINCE V1.01 ------------------- - Bug fixes in copy cut and paste of diagrams. - Focus of control in interaction diagrams is optional now. - A menu command was added to bring the main window ( diagram list) of the current diagram to the top. - A menu command was added to open the template of the current selected item. This allows you to edit the contents of an item without switching tools. - Added the possibilty to reference the same class from different diagrams. Changes can be made from within each diagram referencing the class. - Added the possibility of adding multiple relations betweem different classes. A third move "handle" is added to the realtions so you can avoid that the multiple relations overlap. - The zoom icons on the toolbar now work correctly. - Print : fit to page option. Will fit diagrams on one page when printing. This option will scale large diagrams when printing so they fit on a single page. - Some minor bug fixes : - code generation comment problem. - redrawing of main diagram list window fixed. - ... CHANGES SINCE V1.0 ------------------ - Added a copy to clipboard command : this command will copy the selected graphics to the system clipboard in bitmap format. - Added accellerator keys for most commands and tools. - Generating documentation from class diagrams: This command generates a text file for a class diagram ( inheritance,instantiation and template info) - fixed a bug which caused a GPF which when saved diagrams which contained text fields longer than 256 characters where opened. ( For Borland users : this is caused by a bug in the borland class library : writing a string class to a persistent stream writes the length of the string in one byte followed by the string (not truncated to 256) ==> when reading the stream the wrong length is read ... ) KNOWN PROBLEMS : -------------- When copying class diagrams or class icons which where referencing another class the copy operation will perform a "deep" copy so the references in the copied items will be dereferenced. So if you paste those items and you want them to reference the original class you will have to edit the reference. REPORTING PROBLEMS, ENHANCEMENT REQUESTS: ---------------------------------------- - Please send me email or mail regarding problems and enhancement requests. For problems please send a description on how to reproduce this problem (if possible to reproduce) For enhancements please specify exactly what you want and how important this feature is to you. We don't promise the requested feature will be added in the next version but if you don't ask... Enhancements requested by many users are considered first. Features currently on the list for planned features: - the known problems listed above (C++ code generation will be replaced by a script.) - reverse engineer the module diagrams HOW TO REACH US =============== Web: http://www.object-domain.com EMAIL: Internet: support@object-domain.com CompuServe id: 71202.2323 Mail address: Dirk Vermeersch Object Domain Systems 1397 Ridgewood Drive San Jose CA 95118 Compuserve ID: 71202.2323 Copyright (C) 1996 Object Domain Systems Copyright (C) 1994-1995 Dirk Vermeersch All Rights Reserved